'use strict';

import Base from './base.js';

export default class extends Base {
    
  * indexAction(){
    
    let msg = this.http.data;

    switch (msg.command) {
        case "online":
            yield this._online(msg);
            break;
        default:
            yield this._default(msg);
            break;
    }
  }

  // online
  * _online(msg){
    
    let room = msg.subscribe;
    
    if(msg.room && (think.isNumber(msg.room) || think.isString(msg.room))){
        room = msg.room;
    }
    this.qos(msg, ()=>{
        msg.data = {
            room  : room,
            online: this.online(room, true)
        };
        msg.type = 10;
        this.message(msg);
    });
  }

  * _default(msg){
    this.qos(msg, ()=>{
        this.http.errMsg({error: 'Command Not Found'});
    });
  }
}